The Universal Windows Platform (UWP) is a platform-homogeneous application architecture created by MICROSOFT® and first introduced in WINDOWS® 10. The purpose of the UWP software platform is to help develop universal applications that run on both WINDOWS 10® and WINDOWS® 10 Mobile operating systems, without the need to be re-written for each operating system. (MICROSOFT and WINDOWS are registered trademarks of Microsoft Corp.) At the current time, Universal Windows Applications' (“UWP App”) App Services, which are the standard mechanism of interprocess communication (IPC) in UWP, are not programmatically discoverable in Windows.
More particularly, there are no known solutions that address UWP discoverability in a secure and/or company-specific fashion. In other words, a UWP or a Win32 Desktop Application (“Win32 App”) does not have a native Windows API to ask: “Give me all of the App Services I can access from Company X.” UWP Apps would typically be designed to communicate with other UWP Apps that are not from the same vendor. The UWP App author would have to have pre-arranged the App Service identifier for a third party UWP App and embedded it into their UWP App for it to have been discovered.
Further, UWP App Services have no current Windows-native registration/discoverability paradigm. Typically, for UWP-to-UWP communication (for which App Services are typically used), it would be the attempted connection to a well-known App Service that would be the first point of discoverability. The calling App thus must know all callable Apps (and its Services' identities) from within its own App, which is more burdensome and cumbersome than identifying an App Service by its run-time availability.
What is needed is a system that allows UWP Apps (or other applications designed to run on a hybrid, i.e., cross-platform, operating system or universal development platform) to securely identify themselves, e.g., by their cross-platform App Services, to a Win32 App (or other applications designed to have a mechanism to establish trust with applications on different platforms). Once trust is established, the UWP Apps may opt-in for communication of certain Events from the Win32 App. In such a system, the Win32 App can be certain it is opening App Service connections only to UWP Apps that are trusted and that are interested in receiving a particular type of communication. Such a system may be particularly valuable for use with anti-virus/malware (AV) protection software applications because, currently, Win32 Apps serve as the primary source of AV applications, and, as such, are the primary Event source for AV-related Events.